/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package businesscard.DAO;

import bc.entity.Giohang;
import bc.entity.Lienhe;
import bc.util.HibernateUtil;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;

/**
 *
 * @author Welcome
 */
public class GiohangDAO {
 private Session session;

    public GiohangDAO() {
        SessionFactory factory = HibernateUtil.getSessionFactory();
     // this.session = factory.getCurrentSession();
        this.session=factory.openSession();
    }

    public void Save(Giohang A) {
        try {
            session.getTransaction().begin();
            session.save(A);
            session.flush();
            session.getTransaction().commit();
        } catch (Exception e) {
            if (session.getTransaction().isActive()) {
                session.getTransaction().rollback();
            }
            e.printStackTrace();
        }
    }
public int countLH(int id){
     try{
           // session.getTransaction().begin();
            String sql="from Giohang where id_user = ?";
            Query query=session.createQuery(sql);
            query.setInteger(0, id);
            //Giohang[] result=(Giohang[])query.uniqueResult();
            List<Giohang> result=query.list();
           int count=result.size();
            
//            session.flush();
//            session.getTransaction().commit();
            return count;
        }catch(Exception e){
//            if(session.getTransaction().isActive())
//                session.getTransaction().rollback();
            e.printStackTrace();
        }
        return 0;
}
public Giohang[] getAllGiohang(int id){
     try{
           // session.getTransaction().begin();
            String sql="from Giohang where id_user = ?";
            Query query=session.createQuery(sql);
            query.setInteger(0, id);
             List result = query.list();
            Giohang[] ghlist=new Giohang[result.size()];
            result.toArray(ghlist);
            
//            session.flush();
//            session.getTransaction().commit();
            return ghlist;
        }catch(Exception e){
//            if(session.getTransaction().isActive())
//                session.getTransaction().rollback();
            e.printStackTrace();
        }
        return null;
}
//  public void ThemLienhe(Lienhe lh) {
//        //nếu có món này trong giỏ thì cập nhật lại số lượng
//        if (giohang.contains(lh)) {
//            System.out.println("đã mua liên hệ này");
//        } else//nếu chưa có món này trong giỏ thì thêm mới
//            giohang.add(lh);
//    }
//   public void XoaLienhe(Lienhe lh) {
//        if (giohang.contains(lh)) {
//            giohang.remove(lh);          
//        }
//    }
//   public void XoaGioHang(int SoThuTu){
//        giohang.remove(SoThuTu);
//    }
//    public ArrayList<Lienhe> getGiohang() {
//        return giohang;
//    }
//     public double Tongtien(){
//        double tt=0d;
//        for(Lienhe lh:giohang){
//            tt+=lh.getCapbac().getDongia();
//        }
//        return tt;
//    }
//     public int SoSanPham() {
//        return giohang.size();
//    }
    public static void main(String[] args) {
        GiohangDAO a=new GiohangDAO();
        Giohang[] gh=a.getAllGiohang(11);
        for(int i=0;i<gh.length;i++){
            System.out.println(gh[i].getLienhe().getTen());  
        }

    }
}
